//package org.wxd.elastic.job.config;
//
//import com.dangdang.ddframe.job.api.simple.SimpleJob;
//import com.dangdang.ddframe.job.config.JobCoreConfiguration;
//import com.dangdang.ddframe.job.config.simple.SimpleJobConfiguration;
//import com.dangdang.ddframe.job.lite.api.JobScheduler;
//import com.dangdang.ddframe.job.lite.config.LiteJobConfiguration;
//import com.dangdang.ddframe.job.lite.spring.api.SpringJobScheduler;
//import com.dangdang.ddframe.job.reg.zookeeper.ZookeeperRegistryCenter;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.boot.autoconfigure.AutoConfigureAfter;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.wxd.elastic.job.job.DemoJob;
//
//@Configuration
//@AutoConfigureAfter(value = JobConfig.class)
//public class SimpleJobConf {
//
//    /**
//     * 配置任务详细信息
//     * @param jobClass
//     * @param cron
//     * @param shardingTotalCount
//     * @param shardingItemParameters
//     * @return
//     */
//    private LiteJobConfiguration getLiteJobConfiguration(final Class<? extends SimpleJob> jobClass,
//                                                         final String cron,
//                                                         final int shardingTotalCount,
//                                                         final String shardingItemParameters) {
//        return LiteJobConfiguration.newBuilder(new SimpleJobConfiguration(
//                JobCoreConfiguration.newBuilder(jobClass.getName(), cron, shardingTotalCount)
//                        .shardingItemParameters(shardingItemParameters).build()
//                , jobClass.getCanonicalName())
//        ).overwrite(true).build();
//    }
//
//    @Bean(initMethod = "init")
//    public JobScheduler simpleJobScheduler(final DemoJob simpleJob,
//                                           @Value("${job.cron}") final String cron,
//                                           @Value("${job.shardingTotalCount}") final int shardingTotalCount,
//                                           @Value("${job.shardingItemParameters}") final String shardingItemParameters,
//                                           ZookeeperRegistryCenter regCenter) {
//
//
//
//
//        return new SpringJobScheduler(simpleJob, regCenter,
//                getLiteJobConfiguration(simpleJob.getClass(), cron, shardingTotalCount, shardingItemParameters));
//    }
//}
